导入 sys
导入 os

sys.path.追加(os.路径.绝对路径(r'G:\grasspy_zwmodules\flask\zwflask\src'))
sys.path.追加(os.路径.绝对路径(r'G:\grasspy_zwmodules\flask\zwflask\tests'))
# 打印(sys.path)

# from flask import Flask

# app = Flask(__name__)

# @app.route("/")
# def hello_world():
#     return "<p>Hello, World!</p>"


从 福利哥 导入 〇福利哥, 〇响应, 制作响应, 请求, 渲染模板
从 福利哥 导入 转义
导入 设置


应用 = 〇福利哥(__名称__, 静态文件夹='静态', 模板文件夹='模板')
# 打印(应用.配置['DEBUG'])
# 应用.配置.从对象的参数不能是字典，源文档中有说明
应用.配置.从映射(
    # DEBUG = True,
    ENV = 'development'
)
# 应用.配置.从对象(设置)
# 打印(应用.配置['DEBUG'])

@应用.路由('/')
套路 首页():
    返回 字符串型(应用.配置['DEBUG'])

@应用.路由('/<名称>')   # 规则名称原本不能包含中文，通过猴子补丁解决
套路 打招呼(名称):
    返回 f"<p>{名称}, 你吃了吗?</p>"

@应用.路由('/post/<浮点数:post_id>')
def show_post(post_id):
    # show the post with the given id, the id is an integer
    return f'Post {post_id}'

@应用.路由('/index')
套路 index():
    打印(请求.头信息)
    # 打印(请求.headers)
    返回 〇响应('呵呵')  # 返回 呵呵' 的底层封装

@应用.路由('/index2')
套路 index2():
    返回 'heh', 'hei', 'hah', 'hua' # 元组的话，必须是 (body, status, headers), (body, status), or (body, headers).

@应用.路由('/index3')
套路 index3():
    内容 = '<h1>你好</h1>'
    响应 = 制作响应(内容)
    响应.头信息['test'] = '123' # 头信息字段为 latin-1 编码，不能有中文
    # 打印(响应.status_code)
    打印(响应.状态码)
    响应.状态码 = 404
    打印(响应.状态码)
    返回 响应

@应用.路由('/注册')
套路 注册():
    内容 = '''
    <form method="get", action="/注册">
    <label for="用户名">用户名</label>
    <input type="text" name="用户名">
    <label for="学校">学校</label>
    <input type="text" name="学校">
    <button type="submit">立即注册</button>
    </form>
    '''
    打印(请求.参数々.get('用户名'))
    打印(请求.参数々.获取('学校'))
    返回 内容

@应用.路由('/注册1', 方法々=['GET', 'POST'])
套路 注册1():
    内容 = '''
    <form method="post", action="/注册1">
    <label for="用户名">用户名</label>
    <input type="text" name="用户名">
    <label for="学校">学校</label>
    <input type="text" name="学校">
    <button type="submit">立即注册</button>
    </form>
    '''
    打印(请求.表单.get('用户名'))
    打印(请求.表单.获取('学校'))
    返回 内容



如果 __名称__ == '__主体__':
    # 打印(应用.路由规则表)
    # 应用.运行()
    # 应用.运行(主机='0.0.0.0')
    应用.运行(调试=真)



